MDEV-38289: innodb.log_corruption_recovery sporadically fails
authorMarko Mäkelä <marko.makela@mariadb.com>
Thu, 11 Dec 2025 06:22:41 +0000 (08:22 +0200)
committerOtto Kekäläinen <otto@debian.org>
Tue, 16 Dec 2025 04:00:00 +0000 (20:00 -0800)
When the test is starting up the server with innodb_force_recovery=1,
there will be messages about the LSN being in the future. The current
LSN is expected to be 12338 plus any number of FILE_CHECKPOINT records
(16 bytes each). We have observed anything up to 12402=12338+16*4 in
our CI systems. To be on the safe side, let us allow up to ten records.

Origin: https://github.com/MariaDB/server/commit/4ee491f1b2eb356e9dc40f388f79b62cfeb13609

Gbp-Pq: Name MDEV-38289-innodb.log_corruption_recovery-failed-sporadically.patch

mysql-test/suite/innodb/r/log_corruption_recovery.result
mysql-test/suite/innodb/t/log_corruption_recovery.test

index 8d44df0b2ea721ee64f90bb8173b0d3c6b2bf85b..54bbe092f90c0b507de79d3567b1742a5133fa96 100644 (file)
@@ -5,7 +5,7 @@ call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch on \\[page id: spac
 call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1");
 call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=127, page number=0\\] of corrupted file '.*test/t\\.ibd");
 call mtr.add_suppression("(InnoDB: Plugin|Plugin 'InnoDB')");
-call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 123(38|54)\\.");
+call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 12(3(38|54|70|86)|4(02|18|34|50|66|82|98))");
 SET GLOBAL innodb_fast_shutdown=0;
 # restart
 SELECT * FROM INFORMATION_SCHEMA.ENGINES
index 06069679e91be34668f289beeb1f436bcccf496b..489010f9b774d5aacd916e4de69ea19fd46d255a 100644 (file)
@@ -14,8 +14,8 @@ call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch on \\[page id: spac
 call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1");
 call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=127, page number=0\\] of corrupted file '.*test/t\\.ibd");
 call mtr.add_suppression("(InnoDB: Plugin|Plugin 'InnoDB')");
-call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 123(38|54)\\.");
-
+# Allow innodb_force_recovery=1 to write up to 10 FILE_CHECKPOINT records
+call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 12(3(38|54|70|86)|4(02|18|34|50|66|82|98))");
 SET GLOBAL innodb_fast_shutdown=0;
 --source include/shutdown_mysqld.inc
 --move_file $DATADIR/ib_logfile0 $DATADIR/ib_logfile0.old